package metronome;
/**
 * States of Metronome.
 * @author Suwijak Suppapit 5510546204
 * @version 5/1/2013
 */
public abstract class MetronomeState {
	
	Metronome metronome;

	/**
	 * Initialize States.
	 * @param metronome metronome
	 */
	public MetronomeState(Metronome metronome){
		this.metronome = metronome;
	}
	/**
	 * Show current metronome.
	 * @return metronome
	 */
	public Metronome getMetronome() {
		return this.metronome;
	}
	/**
	 * Action when press play button.
	 */
	public abstract void performPlay();
	/**
	 * Action when press stop button.
	 */
	public abstract void performStop();
	/**
	 * beep sounds.
	 */
	public abstract void beep();
}
